package com.kc.business.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Future;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * TODO
 *
 * @author zhangshuo
 * @version 1.0
 * @date 2020/9/16
 */
@Data
@Table(name = "kc_banner")
public class BizBanner implements Serializable {
    private static final long serialVersionUID = -7284680882855917121L;

    @Id
    private Integer bannerId;
    /** banner图名称 */
    @NotBlank(message = "banner名称不能为空")
    private String bannerRemark;

    /** banner图分类 */
    @NotBlank(message = "banner图分类不能为空")
    private String bannerType;

    /** 图片连接 */
    @NotBlank(message = "图片连接不能为空")
    private String imgUrl;

    /** 跳转地址 */
    @NotBlank(message = "跳转地址")
    private String pageUrl;

    /** 排序标记，1时排首位 */
    private Integer sortMark;


    /** 生效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;

    /** 失效时间 */
    @Future(message = "失效时间必须大于当前日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    /** 生效状态（1：生效，2：无效） */
    @NotBlank(message = "生效状态不能为空")
    private String status;

    /** 跳转类别（1：app页面；2：web） */
    @NotBlank(message = "跳转类别不能为空")
    private String jumpType;

    /** 跳转指向标，跳转类别为1时生效，具体跳转待约定 */
    private String jumpMark;

}
